package com.xuhao.examai.question.application.services;

import com.xuhao.examai.question.domain.models.Question;
import com.xuhao.examai.common.PageResult;
import java.util.List;

public interface QuestionService {

	/**
	 * 创建题目
	 */
	Question create(Question question);

	/**
	 * 更新题目
	 */
	Question update(Question question);

	/**
	 * 删除题目
	 */
	void delete(Long id);

	/**
	 * 根据ID获取题目
	 */
	Question get(Long id);

	/**
	 * 根据考试ID获取题目列表
	 */
	List<Question> listByExamId(Long examId);

	/**
	 * 分页查询题目
	 */
	PageResult<Question> listByPage(Integer current, Integer size, String keyword, String questionType,
			String difficulty);

	/**
	 * 根据知识点查询题目
	 */
	List<Question> listByKnowledgePoint(String knowledgePoint);

	/**
	 * 根据难度查询题目
	 */
	List<Question> listByDifficulty(String difficulty);

	/**
	 * 根据类型查询题目
	 */
	List<Question> listByQuestionType(String questionType);

	/**
	 * 批量创建题目
	 */
	List<Question> batchCreate(List<Question> questions);

	/**
	 * 验证题目答案
	 */
	boolean validateAnswer(Long questionId, String answer);
}